package com.tx.component.task.service;

import java.util.List;

import com.tx.component.task.model.TaskDef;
import com.tx.component.task.model.TaskDetail;

/**
 * 任务容器任务注册器<br/>
 * <功能详细描述>
 * 
 * @author  PengQingyang
 * @version  [版本号, 2022年5月8日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public interface TaskContextRegistry {
    
    /**
     * 设置是否能够编辑<br/>
     * <功能详细描述>
     * @param taskDefList [参数说明]
     * 
     * @return void [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    void setIsModifyAble(List<TaskDef> taskDefList);
    
    /**
     * 设置是否能够编辑<br/>
     * <功能详细描述>
     * @param taskDefList [参数说明]
     * 
     * @return void [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    void setIsModifyAble4Detail(List<TaskDetail> taskDetailList);
    
    /**
     * 注册任务<br/>
     * <功能详细描述>
     * @param method
     * @param taskDef [参数说明]
     * 
     * @return void [返回类型说明]
     * @exception throws [异常类型] [异常说明]
     * @see [类、类#方法、类#成员]
     */
    void registerTask(TaskDef taskDef, String signature);
    
}